home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Window;
- import javax.swing.JComponent;
- import javax.swing.JMenu;
- import javax.swing.KeyStroke;
- import javax.swing.MenuElement;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
-
- public class BasicMenuUI$ChangeHandler implements ChangeListener {
- // $FF: synthetic field
- private final BasicMenuUI this$0;
- public JMenu menu;
- // $FF: renamed from: ui javax.swing.plaf.basic.BasicMenuUI
- public BasicMenuUI field_0;
- public boolean isSelected;
- public Component wasFocused;
-
- public BasicMenuUI$ChangeHandler(BasicMenuUI var1, JMenu var2, BasicMenuUI var3) {
- this.this$0 = var1;
- this.isSelected = false;
- this.menu = var2;
- this.field_0 = var3;
- this.validateKeyboardActions(this.menu.isSelected());
- }
-
- // $FF: synthetic method
- static BasicMenuUI access$0(BasicMenuUI$ChangeHandler var0) {
- return var0.this$0;
- }
-
- // $FF: synthetic method
- static MenuElement access$1(BasicMenuUI$ChangeHandler var0, MenuElement[] var1, int var2) {
- return var0.nextEnabledChild(var1, var2);
- }
-
- // $FF: synthetic method
- static MenuElement access$2(BasicMenuUI$ChangeHandler var0, MenuElement[] var1, int var2) {
- return var0.previousEnabledChild(var1, var2);
- }
-
- private Component findFocusedComponent(Component var1) {
- for(Container var2 = var1.getParent(); var2 != null; var2 = ((Component)var2).getParent()) {
- if (var2 instanceof Window) {
- return ((Window)var2).getFocusOwner();
- }
- }
-
- return null;
- }
-
- private MenuElement nextEnabledChild(MenuElement[] var1, int var2) {
- int var3 = var2;
-
- for(int var4 = var1.length; var3 < var4; ++var3) {
- if (var1[var3] != null) {
- Component var5 = var1[var3].getComponent();
- if (var5 != null && var5.isEnabled()) {
- return var1[var3];
- }
- }
- }
-
- return null;
- }
-
- private MenuElement previousEnabledChild(MenuElement[] var1, int var2) {
- for(int var3 = var2; var3 >= 0; --var3) {
- if (var1[var3] != null) {
- Component var4 = var1[var3].getComponent();
- if (var4 != null && var4.isEnabled()) {
- return var1[var3];
- }
- }
- }
-
- return null;
- }
-
- public void stateChanged(ChangeEvent var1) {
- this.validateKeyboardActions(this.menu.isSelected());
- }
-
- private void validateKeyboardActions(boolean var1) {
- if (var1 != this.isSelected) {
- this.isSelected = var1;
- if (this.isSelected) {
- boolean var2 = this.menu.isRequestFocusEnabled();
- this.wasFocused = this.findFocusedComponent(this.menu);
- if (!var2) {
- this.menu.setRequestFocusEnabled(true);
- }
-
- this.menu.requestFocus();
- if (!var2) {
- this.menu.setRequestFocusEnabled(false);
- }
-
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.CancelAction(this), KeyStroke.getKeyStroke(27, 0, false), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectNextItemAction(this), KeyStroke.getKeyStroke(40, 0, false), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectNextItemAction(this), KeyStroke.getKeyStroke("KP_DOWN"), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectPreviousItemAction(this), KeyStroke.getKeyStroke(38, 0, false), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectPreviousItemAction(this), KeyStroke.getKeyStroke("KP_UP"), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectParentItemAction(this), KeyStroke.getKeyStroke(37, 0, false), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectParentItemAction(this), KeyStroke.getKeyStroke("KP_LEFT"), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectChildItemAction(this), KeyStroke.getKeyStroke(39, 0, false), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.SelectChildItemAction(this), KeyStroke.getKeyStroke("KP_RIGHT"), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.ReturnAction(this), KeyStroke.getKeyStroke(10, 0, false), 2);
- this.menu.registerKeyboardAction(new BasicMenuUI.ChangeHandler.ReturnAction(this), KeyStroke.getKeyStroke(32, 0, false), 2);
- } else {
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(27, 0, false));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(40, 0, false));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke("KP_DOWN"));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(38, 0, false));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke("KP_UP"));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(37, 0, false));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke("KP_LEFT"));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(39, 0, false));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke("KP_RIGHT"));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(10, 0, false));
- this.menu.unregisterKeyboardAction(KeyStroke.getKeyStroke(32, 0, false));
- if (this.wasFocused != null) {
- if (this.wasFocused instanceof JComponent) {
- JComponent var4 = (JComponent)this.wasFocused;
- boolean var3 = var4.isRequestFocusEnabled();
- if (!var3) {
- var4.setRequestFocusEnabled(true);
- }
-
- this.wasFocused.requestFocus();
- if (!var3) {
- var4.setRequestFocusEnabled(false);
- }
- } else {
- this.wasFocused.requestFocus();
- }
-
- this.wasFocused = null;
- }
- }
- }
-
- }
- }
-